Data flow in telecommunications networks using network flow diagrams and associated data

ABSTRACT

Systems and methods for configuring telecommunications networks include obtaining network data flow information for a telecommunications network that includes attributes of multiple routes of data transmission through the telecommunications network. Utilizing at least one processing device, a filtering criteria is applied to the network data flow information to identify a subset of the routes having a shared attribute to generate filtered data. The filtered data is then used to generate a diagrammatic representation of the network flows and/or processed to automatically generate reconfiguration messages to improve network traffic distribution and flow.

TECHNICAL FIELD

The present disclosure relates to systems and methods for implementing atelecommunications network, and more specifically to a system and methodfor collecting and processing network flow data for telecommunicationnetworks, including generating diagrammatic representations of thenetwork flow data and corresponding summary data for use in analyzingand improving network flow.

BACKGROUND

Telecommunication or other types of computer networks transmitinformation. Such information may involve voice, data, multimediainformation, software (including patches and updates), and various otherforms of digital content, and digital services, among many other things.In addition, telecommunication networks often offer features and/orservices to the customers of the network that provide flexible andvaried ways in which the communications are transmitted over thenetwork. For example, some telecommunication networks provide Internetaccess, long distance voice capabilities, high definition audio and/orvideo communication capabilities, and the like. In other examples, thetelecommunications network may provide various types of stored orstreaming content to a user of the network.

In light of the broad and varied uses of telecommunications networks,collecting and analyzing network traffic of a network, a subnetwork, orspecific devices within a network is often required to diagnose issueswithin a network, to optimize network resources, and to improve theoverall functionality and efficiency of a network. Accordingly, there isa need for tools that facilitate the rapid collection of network dataand the presentation of such data to network administrators in a usefuland intuitive way, among other things.

It is with these observations in mind, among others, that aspects of thepresent disclosure were conceived.

SUMMARY

In one aspect of the present disclosure, a method for configuring atelecommunications network is provided. The method includes obtainingnetwork data flow information for a telecommunications network, thenetwork data flow information including attributes of a plurality ofroutes of data transmission through the telecommunications network. Themethod further includes applying, utilizing at least one processingdevice, a filtering criteria to the network data flow information toidentify a subset of the plurality of routes, the filtering criteriaincluding an attribute shared among each of the subset of the pluralityof routes. The method also includes generating a network flow diagramfrom the network data flow information corresponding to the subset ofthe plurality of routes. The network flow diagram includes arepresentation of the attribute of the filtering criteria,representations of other attributes of the subset of the plurality ofroutes, and representations of the subset of the plurality of routes.

In another aspect of the present disclosure, another method forconfiguring a telecommunications networks is provided. The methodincludes obtaining network data flow information for atelecommunications network, the network data flow information includingattributes of a plurality of routes of data transmission through thetelecommunications network. The method further includes applying,utilizing at least one processing device, a filtering criteria to thenetwork data flow information to identify a subset of the plurality ofroutes, the filtering criteria including an attribute shared among eachof the subset of the plurality of routes. The method also includesgenerating filtered data from the network data flow informationcorresponding to the subset of the plurality of routes. The filtereddata includes network data flow information for the attribute of thefiltering criteria, network data flow information for other attributesof the subset of the plurality of routes, and network data flowinformation for the subset of the plurality of routes. A network dataflow is then identified from the subset of the plurality of routesthrough an analysis of the filtered data, the network data flowcomprising a performance metric exceeding a performance threshold.Finally, a reconfiguration message for an attribute of the identifiednetwork data flow is generated, the reconfiguration message configuredto reconfigure the attribute of the identified network data flow toalter the identified network data flow.

In yet another aspect of the present disclosure, a telecommunicationssystem is provided. The telecommunications system includes atelecommunications network that includes multiple network attributes anda network flow connecting the network attributes. The telecommunicationssystem further includes at least one processing device in communicationwith the network attributes. The network flow is configured based on aconfiguration message generated by the at least one processing device.The at least one processing device generates the configuration byobtaining network data flow information for network flows through thetelecommunications network; applying a filtering criteria to the networkdata flow information to identify routes of data transmission throughthe telecommunications network, the filtering criteria including anattribute shared among each of the routes; and generating filtered datafrom the network data flow information. The filtered data corresponds tothe routes and includes network data flow information for the attributeof the filtering criteria, network data flow information for otherattributes of the routes, and network data flow information for theroutes.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 schematic diagram illustrating an exemplary telecommunicationssystem in accordance with one implementation of the present disclosure.

FIG. 2 is a block diagram illustrating a computing environment includinga diagrammatic data flow computing system and associated data sources,such as may be included in the network environment of FIG. 1.

FIG. 3 is a flowchart of a method for generating a diagram of a flow ofnetwork data through a telecommunications network and provisioning anaspect of the network in accordance with an implementation of thepresent disclosure.

FIG. 4 is an exemplary network flow diagram for use in provisioning anaspect of a telecommunications network in accordance with oneimplementation of the present disclosure.

FIG. 5 is a diagram illustrating an example of a computing system whichmay be used in implementing the present disclosure.

DETAILED DESCRIPTION

Aspects of the present disclosure are directed to systems and methodsfor analyzing large and varied network data flows, characterizing theflows, and generating unique and intuitive graphical visualizations ofsuch information. In certain implementations, network flow data iscollected from one or more devices within a network. Such informationmay include, among other things, information regarding ingress andegress devices or networks, amounts of data transmitted using the flow,source and destination devices or networks, and the like. The networkflow data may be stored or otherwise made accessible to a computingsystem configured to generate a network flow diagram for a subnetwork ordevice of the network for which data is available. Additionally, thecomputing system may also filter and aggregate the data according tovarious parameters. In implementations, the processed network flow datamay be used to generate and/or execute configuration instructions forone or more devices within a network.

As noted above, telecommunication networks may be configured to providea wide range of network-related services. For example and among otherthings, content providers (publishers) use the components or servers oftelecommunications networks to serve all forms of content throughout theworld. In order to offload the job of serving some or all of itscontent, many content providers operate or subscribe to content deliverynetworks (CDNs). Using a CDN, content can be primarily served from theCDN (e.g., from one or more content servers in the CDN) instead of fromthe content provider's server(s). Numerous forms of content may beserved from the CDN. For example, television shows and movies may beaccessed from any number of Web sites, and the shows and movies may beserved from the CDN. Print newspapers have migrated to the Web andprovide portals through which clients operating some form of computingdevice (e.g., PC, smart phone, or tablet), with a browser may accessnumerous forms of content, such as short video clips, articles, images,and audio tracks. Software updates and patches, once provided on discand mailed to recipients, are now routinely distributed to devices froma CDN through one or more network connections and devices.

Each service provided by a telecommunications network is associated witha flow of data through the network, typically in the form of datapackets. Analyzing, processing, and controlling these data flows throughthe network may aid a network administrator in the configuration andprovisioning of the network components. For example, it is often moreefficient and cost effective for a telecommunications network tominimize the distance that a packet is transmitted through the network.Thus, routing a packet received in New York through Los Angeles to adestination or egress in Houston is generally not an efficient routingof the packet, if, for example, a route with fewer hops or directly toHouston is available. Minimizing the logical distance (e.g., number ofrouters between a source and destination), which is often reflective ofa shorter geographic distance, the packet is transmitted through thenetwork may optimize costs, lessen or balance traffic congestion throughthe network, and have other advantages. However, since sometelecommunications networks may process millions of such data flows perday and manage thousands of network devices, efficient and intuitivecomputerized management tools are required.

As such, aspects of the present disclosure involve systems, methods,computer program products, and the like, for generating one or more dataflow diagrams for use by network engineers or administrators toconfigure or provision network elements to improve the efficiency andoperation of a telecommunications network. In one particularimplementation of the present disclosure, a diagrammatic data flowsystem may receive network flow information, process the network flowinformation to reduce the volume of information into an understandablequantity of information, and generate a Sankey-like graph or diagram ofthe network flow information. Further, the diagrammatic data flow systemmay provide one or more network configuration commands based on theanalyzed network flow data to improve the efficiency or cost of theoperation of the network. In this manner, the diagrammatic data flowsystem may receive network flow data for a telecommunications networkand process the data into a diagram of network flow data that can beutilized for network configuration.

As mentioned, telecommunications networks may process several milliondata flows or routes through the network in any given day. Thus, oneparticular aspect of the present disclosure provides for filtering ofnetwork flow data to provide a visual diagram of a portion of the dataflow through the network. In one particular implementation of thepresent disclosure, such filtering applied by the diagrammatic data flowsystem may obtain the network flow information of a particularcomponent, gateway, port, or region (known as an “attribute” of thenetwork) of the telecommunications network from the entire network flowdata and provide a visual diagram of that portion of the network flowdata. Further, network data flows that process a fewer number of databytes may be collected or gathered together into a single data flow inthe diagram of network flows, and in some cases may be removed from thediagram altogether if the bytes of the data flow is measured as below athreshold value. In general, the network flow data may be parsed ormanipulated in any manner to provide a more coherent visual diagram ofnetwork flow data.

Further still, the visual diagram of network flow may provide commandsor suggestions for improving the operation of the telecommunicationsnetwork. For example, the diagrammatic data flow system may identify aroute between two or more components of the network that does notminimize the distance a communication packet is transmitted. The systemmay then color the identified route in the network flow diagram with aparticular color that indicates the efficiency or cost-effectiveness ofthe route is not maximized or may be improved. In further examples, thediagrammatic data flow system may create and/or transmit one or moreprovisioning instructions to components of the network based on theinformation included in the network flow diagram to improve theefficiency or operation of the network. In this manner, the diagrammaticdata flow system may utilize the information obtained or displayed inthe network flow diagram to configure aspects of the telecommunicationsnetwork to increase the operating cost and effectiveness of the network.In still other examples, a network engineer or administrator may utilizeinformation provided in the network flow diagram to provide networkconfiguration instructions or commands.

FIG. 1 illustrates a representative telecommunications system 100, whichmay be or include a CDN, with a diagrammatic data flow computing system150. In general, the telecommunications system 100 provides forcommunicating data across a network 102 including for providing one ormore network services to network users. More generally, however, thetelecommunications system 100 facilitates transmission of networktraffic (which may include information, commands, and the like) betweendevices, services, networks, or any combination thereof. For example, adevice 110 may request content that is stored or otherwise availablethrough the network 102. In one implementation, a customer network, suchas customer network 142, may connect to the network 102 in severallocations or through several access points and a request for servicesmay include providing the service to some or all of the customer'sconnection points.

The network 102 includes numerous components such as, but not limited togateways, routers, and registrars, which enable communication and/orprovides services across the network 102, but are not shown or describedin detail here because those skilled in the art will readily understandthese components. More relevant to this description is the interactionand communication between the network 102 and other entities, such asthe one or more customer home or business local area networks (LANs) 106or customer networks 142, where a user of the network will connect withthe network.

Customer network 106 can include communication devices such as, but notlimited to, a personal computer, set top box, or other device, connectedto a router/firewall 114. Although shown in FIG. 1 as computer 110, thecommunication devices may include any type of communication device thatreceives a multimedia signal (such as an audio, video, or web-basedsignal) or receives/transmits data and presents that signal or data foruse by a user of the communication device. The communication andnetworking components of the customer network 106 enable a user at thecustomer network 106 to communicate via the network 102 to othercommunication devices, such as another customer 126 or another customernetwork 142. Access to the Internet may also be provided through thenetwork 102. Components of the customer network 106 are typically home-or business-based, but they can be relocated and may be designed foreasy portability. For example, the communication device 110 may bewireless (e.g., cellular) telephone, smart phone, tablet or portablelaptop computer. In some implementations of the present disclosure,multiple communication devices in diverse locations that are owned oroperated by a particular entity or customer may be connected through thenetwork 102. For example, customer network 142 connects to network 102through two edge device components 133, 134. Such connections may begeographically diverse such that the customer network 142 connects tothe network in various locations. As should be appreciated, the customernetwork 142 may connect to the telecommunications network 102 throughany number of connections.

The customer network 106 may connect to the network 102 via a bordernetwork 122, such as one provided by an Internet Service Provider (ISP).The border network 122 is typically provided and maintained by abusiness or organization such as a local telephone company or cablecompany. The border network 122 may providenetwork/communication-related services to their customers. Communicationvia any of the networks can be wired, wireless, or any combinationthereof.

An operator of the network 102 may configure the network in any mannerto facilitate the routing of communications through the network. Forexample, the network 102 may include a series of interconnectednetworking devices, such as routers and switches (illustrated in FIG. 1as “routing device(s)” 140), that receive a communication, analyze thecommunication to determine a destination, and route the communication toa connected networking device to get the communication closer to adestination or egress point. In another example, the routing devices 140may include one or more servers or other data storage devices. Suchdevices may store content that is available to users of the network 102or provide routing instructions to communication devices connected tothe network for accessing such content. To facilitate suchcommunications, routing or transmission paths through the network 102,and in particular between two or more components of the network, providefor the exchange of data packets to provide the services and/or contentof the network to the network customers.

As mentioned above, routes or paths through the network 102 connect twoor more devices of the network. These paths define how data may travelor flow through a network as the devices share data and communications.Large telecommunications networks may include several million of suchpaths that exchange data or communication packets on a daily basis toprovide services and content to network users. As should be appreciated,tracking the performance or each path of a network flow may be close toan impossible task for a network administrator. Further, even limitingthe view of network flows to a particular component or group ofcomponents may not provide an easily understandable picture of thenetwork flows for those components. Thus, a system is provided hereinthat processes any number of network data flows and generatesunderstandable visual data flow diagrams for use by network engineers oradministrators to configure or provision network elements to improve theefficiency and operation of a telecommunications network. The data flowdiagrams may be customizable for particular portions of the network asdesired to further improve the understanding of the networkconfiguration.

FIG. 1 is further illustrated as including a diagrammatic data flowcomputing system 150. As will be described below in further detail inthe context of FIGS. 2-4, the diagrammatic data flow computing system150 is generally configured to collect network flow data from devices ofthe network 102, to process such data (e.g., by filtering and/oraggregating the data), and to generate diagrams and visualizations fromthe data illustrating data flows within the network 102. The processeddata and/or diagrams may be accessed by network administrators from thediagrammatic data flow computing system 150 either directly or through anetwork administration system 152 in communication with the diagrammaticdata flow computing system 150. The diagrammatic data flow computingsystem 150 may also be incorporated into a broader network monitoringand administration system, such as any relevant device in a networkoperational center (NOC). In certain implementations and as furtherdiscussed below, the diagrammatic data flow computing system 150 and/orthe network administration system 152 be configured to automaticallygenerate transmit one or more configuration instructions to devices ofthe network 102 in response to the network flow data collected andprocessed by the diagrammatic data flow computing system 150.

FIG. 2 is a block diagram illustrating a computing environment 200 foruse in generating and presenting diagrammatic representations of networkdata flows. The environment 200 includes a diagrammatic data flowcomputing system 202 for a telecommunications network in accordance withone implementation of the present disclosure and which may generallycorrespond to the diagrammatic data flow computing system 150 of FIG. 1.The system 202 may include several components or applications forreceiving network data flow information, processing the informationbased on aggregating techniques and/or one or more information filters,and generate a network flow diagram corresponding to the networkinformation. In some instances, the system 202 may also generate and/orprovide network configuration instructions or commands based on thegenerated network flow diagram and transmit those instructions to thenetwork or a network administrator for execution. Other components maybe present in the system 202 although not illustrated in FIG. 2 ordiscussed herein.

Many telecommunications networks provide network data flow informationto network administrators or engineers. For example, components of thenetwork 102 may be configured to generate and self-report routes, dataflows, packets processed, alarms, states, and other operationalinformation to a centralized network operational center (NOC). Multiplesystems within the NOC may then process the information in an attempt todetermine operational status of the components of the network. In othernetwork configurations, a network flow collector (e.g., a NetFlowcollector) may be deployed within or in communication with the networkto obtain network data flow information. In one example, the networkflow collector may be an application or applications that requestsoperational and data flow information from components of the network 102on a continual basis. This may include both self-reporting and requestsfor operational information from the components. The collected networkdata flow information may then be stored as network flow collector data210 and made available to the diagrammatic network flow computing system202. Through the network flow collector and/or NOC, at least some aspectof the flow of communications and data through the network 102 may beobtained and provided to the diagrammatic network flow computing system202.

Additional network information 210 may also be available to thediagrammatic network flow computing system 202. For example, routingtables for routing information between components of the network 102 maybe gathered and stored in the network information database 210. Suchinformation may be obtained through Border Gateway Protocol (BGP) andInterior Gateway Protocol (IGP) announcement sessions between componentsof the network. Other network information, such as port assignments,transmission line information, and Internet Protocol (IP) address orother component identifying information may also be stored in thenetwork information database 210. In general, any network informationpertaining to any number of flows of data through the network 102 may beobtained by the network flow collector and stored in the network flowcollector data 208 or stored in the network information database 210 foruse by the diagrammatic network flow computing system 202 of FIG. 2.

The information provided through the network flow collector or withinthe network information database 210 is typically in a text-basedformat. In general, dataflow information received from (or obtained bythe network flow collector) any component of the network may includetext information for any aspect of the data flow. For example, data flowinformation from an ingress device of the network 102 may include anentry for ingress region, ingress country, ingress state, ingress city,ingress gateway, ingress router, and ingress interface for each dataflow. Egress information may also be obtained, such as an entry foregress region, egress country, egress state, egress city, egressgateway, egress router, and egress interface. Other information of dataflows, such as ingress Autonomous Service Network (ASN), egress ASN,source device ASN, destination device ASN, and the number of data bytestransmitted for each data flow between devices of the network, may alsobe collected. Data flow information for a particular device of thenetwork 102 may be obtained through analysis of network configuration(such as through network information database 210), such as the ingressand egress region, country, state, city, gateway, etc. Other data flowinformation, such as ingress ASN, egress ASN, source device ASN, etc.may be obtained through an analysis of a received communication at thedevice. Such information may be included in metadata or other signalinginformation included in the communication. Further, the components ofthe network 102 may track or store an amount of data (measured in bytes,in some instances) transmitted from the component to other components inthe network and provide such information to a database of the networkupon receiving a request for such information. Through the combinationof network information sources, the diagrammatic data flow computingsystem 202 may obtain or receive any data flow information for thetransmission of data through the telecommunications network 102.

Once network flow data is obtained or received, the diagrammatic dataflow computing system 202 may execute one or more applications toprocess the data, generate a diagram of network data flow, and/orconfigure one or more components of the network according to the networkdata flow diagram. For example, and explained in more detail below, thediagrammatic data flow computing system 202 may execute a network flowfiltering application. The filtering application may apply one or morefilters to the network flow data to reduce the amount of informationincluded in a network flow diagram and enhance the display of theinformation shown. In one implementation, the type of data filterapplied to the network flow data may be based on an input received atthe diagrammatic data flow computing system 202 from a user interface220. More particularly, a user interface 220 may be in communicationwith the diagrammatic data flow computing system 202. A user of thediagrammatic data flow computing system 202 (such as a networkadministrator) may utilize the user interface 220 to provide inputs tothe applications of the diagrammatic data flow computing system. Forexample, a user may select a particular device of the network 102 forwhich to view data flows through the particular device in a network flowdiagram. The filtering application 212 may then isolate or identify theportion of the received network flow information that corresponds to thereceived component selection for inclusion in a network flow diagram.

In general, any aspect of the network data flow information may beselected as a filter. For example, a user may filter the network dataflow information based on particular components, particular regions,particular gateways, particular ASNs, and the like. Further, more thanone filter may be applied to the network data flow information by thefiltering application 212. For example, the user may provide severalfiltering inputs to the user interface 220 to further refine the desirednetwork flow data to be included in the network flow diagram. In thismanner, the millions of network data flows for the telecommunicationsnetwork 102 may be reduced so that the network flow diagram is tailoredfor use by the system 202 or a network administrator.

Another application that may be included in the diagrammatic data flowcomputing system 202 is a network flow aggregating application 204. Theaggregating application 204, in general, aggregates particular networkdata flows of a subset of the network data flow information (which maybe but is not necessarily a proper subset of the network data flowinformation) per attribute of the network data flows. For example, evenafter the application of one or more filters to the network flow data,several thousand data flows may be still remain in the network flow datato be illustrated in the network flow diagram. To improve theunderstanding of the network flow diagram, certain data flows may becombined prior to generating the diagram. The aggregated network dataflows may be data flows that are smaller in size (based on number ofbytes of the data flow) relative to the other data flows in the subsetof network flow information. This may act to reduce the number of dataflows included in the network flow diagram. In one particularimplementation of the present disclosure, such data flows may begathered into a collected network data flow and labeled as “other” or“miscellaneous” such that the network flows are included in the networkflow diagram, but are not represented individually within the diagram.Such aggregation may be executed for any attribute of the network dataflows to reduce the information illustrated in the corresponding networkflow diagram.

In other instances, aggregation of network data flow information may bebased on other aspects of the network flow information and a new datapoint may be created in the network flow data. For example, a particulartelecommunications network 102 may include several gateways or ingressdevices in a particular metro area. Such devices may be aggregatedtogether as a single metro area and a new data point for “ingress metro”may be created and added to the network flow information. The createdattribute may also be stored in the network information database 210 orthe network flow collector information for use by the diagrammatic dataflow computing system 202. Other attributes for the network data flowinformation may be created by the aggregating application 204 andincluded in the network flow data and/or the network flow diagram.

The diagrammatic data flow computing system 202 may utilize the filteredand aggregated network flow information to create a network flow diagramand display the generated diagram on a display (such as through the userinterface 220 discussed above). One example of a network flow diagramfor a particular ingress component of the telecommunications network 102is illustrated in FIG. 4 and discussed in more detail below. Although aparticular implementation is illustrated in FIG. 4, it should beappreciated that other visual representations or diagrams may begenerated by the diagrammatic data flow computing system 202. Throughthe diagram, a visual representation of network data flows may beprovided to the user of the user interface 220 or other applications ofthe diagrammatic data flow computing system 202.

In addition, the diagrammatic data flow computing system 202 may alsoinclude a network configuration application 214. In general, the networkconfiguration application 214 analyzes a network flow diagram andgenerates one or more network commands to configure aspects of thetelecommunications network. Through the analysis, the networkconfiguration application 214 may determine one or more inefficienciesor redundancies in network data flow between the components included inthe diagram. The network configuration application 214 may then generateand transmit one or more configuration instructions to networkcomponents to address the determined inefficiencies. In anotherimplementation, the network configuration application 214 may generatean alert or alarm to a network administrator, such as through a messageon the user interface 220 or an electronic mail sent to a networkadministrator e-mail address. The alert may include suggestions fornetwork configurations to address the determined network inefficiency.In still other instances, an alert displayed on the user interface 220to a user of the system 202 may provide configuration instructions thatmay be selectable by the user to configure the network accordingly. Ingeneral, any configuration of the network may be made in response to thenetwork flow diagram generated by the diagrammatic data flow computingsystem 202.

To diagram the network flow data of a telecommunications network 102,the diagrammatic data flow computing system 202 (and correspondingapplications) may perform particular operations. In particular, FIG. 3is a flowchart of a method 300 for generating a diagram of a flow ofnetwork data through a telecommunications network and provisioning anaspect of the network in accordance with one implementation of thepresent disclosure. The operations of the method 300 may be performed byany component of the diagrammatic data flow computing system 202, suchas the applications of the system discussed above. As such, theoperations may be executed through a hardware component of thediagrammatic data flow computing system 202, through one or moreprograms of the system, or any combination of hardware and softwarecomponents.

Beginning in operation 302, the diagrammatic data flow computing system202 receives network data flow information from the network 102. Asdescribed above, the network data flow information may be obtained froma network database 210, network flow collector data 208 (e.g., asobtained from a network flow collector deployed in the network 102),and/or from one or more components of the network itself. The networkdata flow information may include any aspect of the flow of data orcommunications through the network 102, including ingress information,egress information, and the number of bytes transmitted between deviceswithin the network. In one particular implementation, the bytes of datatransmitted through a particular data flow may be obtained daily fromthe network 102 for use in generating a network data flow diagram.

In operation 304, the diagrammatic data flow computing system 202 mayjoin subsets of the network data flow information together to form newdata flow sets or attributes. For example, the system 202 may combinedata flows from several related ingress devices if such devices arelocated within the same metro area. A new attribute may then be createdby the system 202 for those identified data flows that contain thejoined network data flow information. Extending the above example, eachnetwork data flow set of information that is included in the same metroarea may be modified by the system 202 to add a new attribute thatidentifies the shared metro, such as an “ingress metro” attribute. Othershared aspects of network data flows may be identified and newattributes added to the network data flow information corresponding tothe shared aspect may be added by the system 202.

In addition, network data flows that share attributes may be combined bythe diagrammatic data flow computing system 202. For example, a dataflow may include information for a particular communication sessionbetween two or more components of the network 102. However, at a latertime, an additional communication session may occur between the same twocomponents of the network 102. Thus, the system 202 in this circumstancemay identify that the aspects of the network flow data are the same fromthe first session and the second session and combine the transmitteddata bytes from the sessions into a single data flow. In this manner,the diagrammatic data flow computing system 202 may reduce or combinesimilar network data flows from the received data flow information.

One or more filtering criteria for limiting the network flow informationthat is included in the diagram may be received at the diagrammatic dataflow computing system 202 in operation 306. In one particularimplementation of the present disclosure, the filtering criterion isreceived through a user interface 220 in communication with thediagrammatic data flow computing system 202. Through the user interface220, a user (such as a network administrator) may provide inputs orotherwise identify particular attributes of a subset of network dataflows to limit the number and type of data flows to be diagrammed. Forexample, a user may indicate a particular ingress gateway in the userinterface 220 when attempting to view the network data flow associatedwith that ingress gateway. Other filtering criteria may also be providedin addition to or separate from the ingress gateway, such as an egressgateway, an ingress network, an egress network, an ingress ASN, anegress ASN, whether the network data flows are a part of a CDN (such asmay be indicated by a CDN identifier), etc. In general, any attribute ofnetwork data flow information discussed above may be identified as afiltering criteria by the user interface 220 and applied to generate asubset of the overall network data flow information. An example of afilter that limits the network data flow information to a particularingress router device is used through the remainder of the descriptionof the method 300 of FIG. 3 and the network flow diagram 400 of FIG. 4.It should be appreciated, however, that any attribute of the receivednetwork data flow may be received and applied to the network data flowinformation to obtain the particular data flow information illustratedin the diagram discussed below.

In operation 308, the diagrammatic data flow computing system 202 mayfilter the complete network data flow information utilizing the receivedfilter information to generate a subset of the network data flowinformation for diagramming. In operation 310, the subset of networkdata flow information may further be reduced or aggregated based on theattributes of the subset of network data flow information. For example,the diagrammatic data flow computing system 202 may include a limit onthe number of data flows that are illustrated in a particular networkdata flow diagram. The limit of data flows may be set by the system ormay be based on an input provided to the system through the userinterface 220. In one particular implementation, the number of dataflows illustrated in a diagram may be limited to twenty-five data flowsto ensure that the diagram is not over-crowded with illustrated dataflows. Thus, the diagrammatic data flow computing system 202 mayaggregate some of the subset of network data flows into an “other” or“miscellaneous” collection of network flows when those data flows fallbelow a particular threshold value.

In one particular example, the diagrammatic data flow computing system202 may rank the network data flows in the filtered subset of networkdata flows by number of bytes transmitted over a period of time, such asover the previous 24 hours. As mentioned above, each network data flowentry may include a number of bytes transmitted over the period of time.Thus, the diagrammatic data flow computing system 202 may rank eachnetwork flow based on the number of processed bytes of data. Further,the system 202 may then combine or aggregate information for thosenetwork data flows that are below the limit of data flows to be includedin the diagram. For example, the network data flows with a number ofbytes of transmitted data below the first twenty-five data flows may becombined into a single network data flow for inclusion in the data flowdiagram.

To aggregate data flows, certain attributes of a data flow may bealtered within the network data information to indicate the aggregation.For example, if a subset of the network data flows is filtered based oningress gateway, those network data flows that fall below the thresholdmay have an ingress gateway entry in the data flow information alteredto a generic entry, such as “other” or “miscellaneous”. In this manner,separate data flows may be combined under a generic attribute. Further,aggregation of network data flows may also occur after alteration to thenetwork data flow information. For example and as mentioned above, dataflows with the same attributes may be combined into a single data flowby the diagrammatic data flow computing system 202, such as data flowsthat occur along the same route through the network but occur atdifferent times. These similar data flows may be combined by thediagrammatic data flow computing system 202 to create a data flow forthat particular day along the route described in the data flowattributes. Thus, after a particular attribute of the subset of networkdata flows is altered or changed to the generic entry (i.e., “other” or“miscellaneous”), more data flows may have similar attributes and can becombined by the system. For example, two data flows may have the sameattribute values but different egress gateways values. If the egressgateway values are generalized to a generic value as described above,the two data flows may then have the same attributes along the entireroute through the network and may therefore be combined into a singledata flow. In this manner, re-aggregation of network data flows mayoccur within the network data flow information after one or more dataflow attributes have been altered. Further, this re-aggregation processmay occur through an iterative process after any change orgeneralization of the network data flow information.

Once the network data flow information has been filtered and aggregated,the diagrammatic data flow computing system 202 may then generate anetwork data flow diagram in operation 312. One particular example of anetwork data flow diagram 400 is illustrated in FIG. 4. Although adescription of the network flow diagram 400 of FIG. 4 is providedherein, it should be appreciated that the diagram of the network dataflow information may take any form of known or hereafter developeddiagrams. The network flow data illustrated in the diagram 400 includesdata transmitted through a telecommunications network that is filteredand/or aggregated as described above. In particular, the illustratednetwork flow data of the diagram 400 is filtered for a particularingress gateway device of the network such that the diagram illustratesall data flows through that particular ingress gateway device over a24-hour period. Attributes of the collected network data flows areillustrated, including ingress ASN, egress gateway, egress ASN,destination ASN, and total transmitted bytes for each data flow over the24-hour period. Other diagrams of network data flows may illustrateother attributes over a longer or shorter period of time. In general,any values included in the collected network data flow for thetelecommunications network may be illustrated in the diagram 400 in somemanner.

The network flow information of the diagram 400 of FIG. 4 is presentedas a Sankey-type diagram. Other types of diagrams may also be utilizedby the diagrammatic data flow computing system 202 to illustrate thenetwork flow data. In the diagram 400 of FIG. 4, each data flow measuredfor a particular ingress gateway 402 to the network 102 is shown. Ingeneral, the ingress gateway is illustrated in the diagram 400 as bar402. Further, the overall size of the bar (or any bar or data flowillustrated in the diagram 400) is relative to the number of data bytestransmitted through the bar in the given time period of the network datainformation. For example, the height of ingress gateway 402 maycorrespond to a number of data bytes transmitted through that gateway inthe previous 24-hour period. In another implementation, a user of thediagrammatic data flow computing system 202 may provide a beginning andending time to define a time period as a network data flow filter. Othercomponents of the diagram 400 (such as the height of other bars 408-412or data flows 406) may also correspond to a number of data bytes forthose particular components.

To create the diagram 400 of FIG. 4, a user of the diagrammatic dataflow computing system 202 provides a filter to the system that limitsthe network data flow information to the ingress gateway. For example,if the user chooses to filter the network data flow information based onthe ingress gateway 402, the data flows illustrated in the diagram 400(e.g., as a colored or shaded flow from left to right through thediagram) will be limited to those that transmit through the ingressgateway 402. In one implementation of the present disclosure, each dataflow 406 is of a unique color to differentiate one network flow fromanother. In another implementation of the present disclosure, each dataflow 406 is shaded to provide differentiation between the flows. Asmentioned, the size or height of each data flow 406 may correspond to adata bytes of the network flow included in the network flow information.In one particular implementation, the color or shade of the network dataflow 406 may be based on the destination ASN 412 for each data flow. Inother words, data flows terminating at destination ASN A 414 may be adifferent color or shade than data flows terminating at destination ASNB 416. Further, in some implementations, the data bytes associated withany one data flow may be display within the diagram 400. For example, auser of the user interface 220 may select a particular data flow throughan input device to a computer executing the user interface andinformation about the selected data flow may be provided in the diagram400, such as a number of processed bytes associated with the data flow.

The diagram 400 of FIG. 4 illustrates an ingress ASN 404 from which eachof the data flows for the ingress gateway 402 is received at the network102. Similar to other aspects of the diagram 400, the ingress ASNs 404for the data flows are illustrated as a colored or shaded box with alabel (potentially identifying a geographic location of the ASN) and arelative height associated with the size of the data flows originatingfrom the ingress ASN 404. As shown, some of the ingress ASNs 404 may beassociated with more than one data flow, as illustrated by the multiplecolored or differently shaded data flows originating from the ingressASNs. In a similar manner, the network flow diagram 400 illustratesegress gateways 408 from the telecommunications network 102 from whichthe network flows exit the network. Egress ASNs 410 for each networkdata flow and destination ASNs 412 are also illustrated. It should beappreciated that more or fewer attributes of the network flowinformation may also be included in the diagram 400 based on thefiltering information applied to the network data flow information. Forexample, ingress metro, ingress region, egress city, egress country,etc. may be included in the diagram for the network flows in a similarmanner as the ingress ASN, ingress gateway, egress ASN, egress gateway,etc. Further, each value in the network flow attributes that areillustrated may be labeled within the diagram 400 to provideidentifiable information to a viewer of the diagram.

Through the network flow diagram 400, an understanding of data flowsthrough components of the telecommunications network may be obtained.For example, a system or viewer receiving the diagram 400 may visuallyfollow a data flow from an ingress ASN through the network to adestination ASN. Further, because each data flow is uniquely colored orshaded, the system or viewer may track the data flow through thecomponents of the network 102. As explained in more detail below, thisinformation may be utilized by a network or a network administrator toconfigure one or more components of the telecommunications network 102in response to the network data flow information illustrated in thediagram 400.

To configure the telecommunications network 102 in response to theinformation in the network flow diagram 400, the diagrammatic data flowcomputing system 202 may provide the network flow diagram to the userinterface 220 in communication with the system. In one particularexample and returning to the method 300 of FIG. 3, the diagram 400 maybe displayed on a display device of the user interface 220 in operation314. A network administrator may view the diagram 400 on the displaydevice to gain an understanding of the operation of at least a portionof the telecommunications network 102. In an alternate implementation,the diagrammatic data flow computing system 202 may analyze the diagram400 to determine attributes or features of the illustrated data flowswithout necessarily displaying the diagram on a display device. In otherwords, the diagrammatic data flow computing system 202 may process thenetwork data flow information into a diagram through which the systemcan analyze the information and determine an operation of the network.Regardless of whether the diagram 400 is displayed on a display deviceor user interface or analyzed by a system, the network flow informationcontained within the diagram may be utilized to configure or alter aconfiguration of a telecommunications network in response.

In particular, the diagrammatic data flow computing system 202 inoperation 316 may analyze the information included in the network flowdiagram 400 to determine an operation of the telecommunications network102. For example, the system 202 may determine that a network data flowis transmitted through the network 102 in an inefficient manner, such asbeing transmitted from one continent to another and back beforeegressing from the network. Other inefficiencies may also be determined,such as transmission between various components of the network 102before egressing from the network when a single network flow to aparticular egress component may connect the data flow to the egress ASN.In general, any analysis of the network data flows within the diagram400 may be conducted by the system 202 to determine an operation of thenetwork 102 to identify one or more inefficiencies within the network.Further, the network flows in the diagram 400 may be measured against aparticular performance threshold value to identify the inefficiency. Forexample, a measured geographic distance of a network flow may becompared against a maximum threshold distance value by the system 202.If the measured or estimated network flow distance exceeds the thresholdperformance value, the network flow within the diagram 400 may beidentified as inefficient and a candidate for alteration by the system.

Further, the diagrammatic data flow computing system 202 may alsogenerate and transmit one or more configuration instructions tocomponents of the network 102 to configure the transmission of datathrough the network in response to the analysis of the network data flowdiagram 400. For example, when an inefficiency in the transmission ofdata through the network 102 is determined, the system 202 may identifya more efficient (e.g., shorter or underutilized) transmission paththrough the network and configure the components of the network includedin the new transmission path to accept and transmit the re-directed dataflow. Such configuration of the network 102 may include providinginstructions to one or more components of the network 102 to create anew data flow through the network when the instructions are executed bythe receiving network components. In another implementation of thepresent disclosure, a network engineer or designer may utilize theinformation included in the network data flow diagram 400 to identifyinefficiencies in the network configuration and transmit configurationinstructions to components of the network 102 to create a new data flowroute through the network. Regardless of the implementation, the dataflow information included in the network flow diagram 400 may beutilized to configure one or more components of the telecommunicationsnetwork 102 to alter or create a data flow through the network.

Through the systems and methods described above, a telecommunicationsnetwork 102 may generate one or more visual data flow diagrams ofnetwork data flows through the telecommunications network. Such diagramsmay be utilized by network engineers or administrators to configure orprovision network elements to improve the efficiency and operation of atelecommunications network. In one particular implementation of thepresent disclosure, a diagrammatic data flow system may receive networkflow information, process the network flow information to reduce thevolume of information into an understandable quantity of information,and generate a Sankey-like graph or diagram of the network flowinformation. Further, the diagrammatic data flow system may provide oneor more network configuration commands based on the analyzed networkflow data to improve the efficiency or cost of the operation of thenetwork. In this manner, the diagrammatic data flow system may receivenetwork flow data for a telecommunications network and process the datainto a diagram of network flow data that can be utilized for networkconfiguration.

FIG. 5 is a block diagram illustrating an example of a computing deviceor computer system 500 which may be used in implementing aspects of thesystems and methods disclosed herein. For example, the computing system500 of FIG. 5 may be the diagrammatic data flow computing system 202discussed above. The computer system (system) includes one or moreprocessors 502-506. Processors 502-506 may include one or more internallevels of cache (not shown) and a bus controller or bus interface unitto direct interaction with the processor bus 512. Processor bus 512,also known as the host bus or the front side bus, may be used to couplethe processors 502-506 with the system interface 514. System interface514 may be connected to the processor bus 512 to interface othercomponents of the system 500 with the processor bus 512. For example,system interface 514 may include a memory controller 518 for interfacinga main memory 516 with the processor bus 512. The main memory 516typically includes one or more memory cards and a control circuit (notshown). System interface 514 may also include an input/output (I/O)interface 520 to interface one or more I/O bridges or I/O devices withthe processor bus 512. One or more I/O controllers and/or I/O devicesmay be connected with the I/O bus 526, such as I/O controller 528 andI/O device 530, as illustrated. The system interface 514 may furtherinclude a bus controller 522 to interact with processor bus 512 and/orI/O bus 526.

I/O device 530 may also include an input device (not shown), such as analphanumeric input device, including alphanumeric and other keys forcommunicating information and/or command selections to the processors502-506. Another type of user input device includes cursor control, suchas a mouse, a trackball, or cursor direction keys for communicatingdirection information and command selections to the processors 502-506and for controlling cursor movement on the display device.

System 500 may include a dynamic storage device, referred to as mainmemory 516, or a random access memory (RAM) or other computer-readabledevices coupled to the processor bus 512 for storing information andinstructions to be executed by the processors 502-506. Main memory 516also may be used for storing temporary variables or other intermediateinformation during execution of instructions by the processors 502-506.System 500 may include a read only memory (ROM) and/or other staticstorage device coupled to the processor bus 512 for storing staticinformation and instructions for the processors 502-506. The system setforth in FIG. 5 is but one possible example of a computer system thatmay employ or be configured in accordance with aspects of the presentdisclosure.

According to one implementation of the present disclosure, the abovetechniques may be performed by computer system 500 in response toprocessor 504 executing one or more sequences of one or moreinstructions contained in main memory 516. These instructions may beread into main memory 516 from another machine-readable medium, such asa storage device. Execution of the sequences of instructions containedin main memory 516 may cause processors 502-506 to perform the processsteps described herein. In alternative implementations, circuitry may beused in place of or in combination with the software instructions. Thus,implementations of the present disclosure may include both hardware andsoftware components.

A machine readable medium includes any mechanism for storing ortransmitting information in a form (e.g., software, processingapplication) readable by a machine (e.g., a computer). Such media maytake the form of, but is not limited to, non-volatile media and volatilemedia. Non-volatile media includes optical or magnetic disks. Volatilemedia includes dynamic memory, such as main memory 516. Common forms ofmachine-readable medium may include, but is not limited to, magneticstorage medium; optical storage medium (e.g., CD-ROM); magneto-opticalstorage medium; read only memory (ROM); random access memory (RAM);erasable programmable memory (e.g., EPROM and EEPROM); flash memory; orother types of medium suitable for storing electronic instructions.

Implementations of the present disclosure include various steps, whichare described in this specification. The steps may be performed byhardware components or may be embodied in machine-executableinstructions, which may be used to cause a general-purpose orspecial-purpose processor programmed with the instructions to performthe steps. Alternatively, the steps may be performed by a combination ofhardware, software and/or firmware.

The description above includes example systems, methods, techniques,instruction sequences, and/or computer program products that embodytechniques of the present disclosure. However, it is understood that thedescribed disclosure may be practiced without these specific details. Inthe present disclosure, the methods disclosed may be implemented as setsof instructions or software readable by a device. Further, it isunderstood that the specific order or hierarchy of steps in the methodsdisclosed are instances of example approaches. Based upon designpreferences, it is understood that the specific order or hierarchy ofsteps in the method can be rearranged while remaining within thedisclosed subject matter. The accompanying method claims presentelements of the various steps in a sample order, and are not necessarilymeant to be limited to the specific order or hierarchy presented.

It is believed that the present disclosure and many of its attendantadvantages should be understood by the foregoing description, and itshould be apparent that various changes may be made in the form,construction, and arrangement of the components without departing fromthe disclosed subject matter or without sacrificing all of its materialadvantages. The form described is merely explanatory, and it is theintention of the following claims to encompass and include such changes.

While the present disclosure has been described with reference tovarious implementations, it should be understood that theseimplementations are illustrative and that the scope of the disclosure isnot limited to them. Many variations, modifications, additions, andimprovements are possible. More generally, implementations in accordancewith the present disclosure have been described in the context ofparticular implementations. Functionality may be separated or combinedin blocks differently in various implementations of the disclosure ordescribed with different terminology. These and other variations,modifications, additions, and improvements may fall within the scope ofthe disclosure as defined in the claims that follow.

We claim:
 1. A method for configuring a telecommunications network, themethod comprising: obtaining network data flow information for atelecommunications network, the network data flow information includingattributes of a plurality of routes of data transmission through thetelecommunications network; applying, utilizing at least one processingdevice, a filtering criteria to the network data flow information toidentify a subset of the plurality of routes, the filtering criteriaincluding an attribute shared among each of the subset of the pluralityof routes; and generating a network flow diagram from the network dataflow information corresponding to the subset of the plurality of routes,the network flow diagram including a representation of the attribute ofthe filtering criteria, representations of other attributes of thesubset of the plurality of routes, and representations of the subset ofthe plurality of routes.
 2. The method of claim 1, further comprising:providing the network flow diagram to a display device in communicationwith the at least one processing device; subsequent to providing thenetwork flow diagram, receiving, at the at least one processing deviceand from a computing device in communication with the at least oneprocessing device, a configuration instruction for reconfiguring anattribute of the plurality of routes of data transmission; andtransmitting a configuration command from the at least one processingdevice to the attribute, the configuration command corresponding to theconfiguration instruction and configuration to cause the attribute toalter the network data flow.
 3. The method of claim 1, wherein theattributes of the plurality of routes comprise at least one of aningress Autonomous Service Network (ASN), an egress ASN, an ingressgateway device, and an egress gateway device.
 4. The method of claim 1,wherein the filtering criteria is received from a user interfaceexecuted on a computing device.
 5. The method of claim 4, wherein thefiltering criteria includes an ingress gateway, an egress gateway, aningress network, an egress network, an ingress autonomous system number(ASN), an egress ASN, or a content distribution network (CDN)identifier.
 6. The method of claim 1, wherein generating the networkflow diagram comprises: identifying low traffic routes of the subset ofthe plurality of routes, traffic for each of the low traffic routesfalling below a traffic threshold; generating an aggregated route bycombining the low traffic routes; and replacing the low traffic routesin the subset of the plurality of routes with the aggregated route. 7.The method of claim 6, wherein generating the aggregated route bycombining the low traffic routes comprises: generating a genericattribute corresponding to attributes of each of the low traffic routes,the attributes of each of the low traffic routes having a commonrelationship to the attribute of the filtering criteria; and assigningaggregated data flow information to the generic attribute, theaggregated data flow information being an aggregate of data flowinformation for the attributes of each of the low traffic routes.
 8. Themethod of claim 1, further comprising: collecting the network data flowinformation by deploying a network flow collector in thetelecommunications network, the network flow collector configured tocollect network data flow information from devices within thetelecommunications network and to transmit the collected network dataflow information to a central storage system, wherein obtaining thenetwork data flow information comprises retrieving the network data flowinformation from the central storage system.
 9. A method for configuringtelecommunications networks, the method comprising: obtaining networkdata flow information for a telecommunications network, the network dataflow information including attributes of a plurality of routes of datatransmission through the telecommunications network; applying, utilizingat least one processing device, a filtering criteria to the network dataflow information to identify a subset of the plurality of routes, thefiltering criteria including an attribute shared among each of thesubset of the plurality of routes; generating filtered data from thenetwork data flow information corresponding to the subset of theplurality of routes, the filtered data including network data flowinformation for the attribute of the filtering criteria, network dataflow information for other attributes of the subset of the plurality ofroutes, and network data flow information for the subset of theplurality of routes; identifying a network data flow from the subset ofthe plurality of routes through an analysis of the filtered data, thenetwork data flow comprising a performance metric exceeding aperformance threshold; and generating a reconfiguration message for anattribute of the identified network data flow, the reconfigurationmessage configured to reconfigure the attribute of the identifiednetwork data flow to alter the identified network data flow.
 10. Themethod of claim 9, further comprising transmitting the reconfigurationmessage to the attribute of the identified network data flow toreconfigure the attribute.
 11. The method of claim 9, wherein generatingthe filtered data comprises: identifying low traffic routes of thesubset of the plurality of routes, traffic for each of the plurality oflow performance routes falling below a traffic threshold; generating anaggregated route by combining the low traffic routes, wherein generatingthe aggregated route comprises: generating a generic attributecorresponding to attributes of each of the low traffic routes, theattributes of each of the low traffic routes having a commonrelationship to the attribute of the filtering criteria; and assigningaggregated data flow information to the generic attribute, theaggregated data flow information being an aggregate of data flowinformation for the attributes of each of the low traffic routes; andreplacing the low traffic routes in the subset of the plurality ofroutes with the aggregated route.
 12. The method of claim 9, furthercomprising generating a network flow diagram from the filtered data, thenetwork flow diagram comprising a representation of the attribute of thefiltering criteria, representations of other attributes associated withthe subset of the plurality of routes, and representations of the subsetof the plurality of routes.
 13. The method of claim 9, wherein theperformance metric is an estimated geographic distance of transmissionfor the particular network data flow.
 14. The method of claim 9, furthercomprising: collecting the network data flow information by deploying anetwork flow collector in the telecommunications network, the networkflow collector configured to collect network data flow information fromdevices within the telecommunications network and to transmit thecollected network data to a central storage system, wherein obtainingthe network data flow information comprises retrieving the network dataflow information from the central storage system.
 15. The method ofclaim 9, the filtering criteria includes an ingress gateway, an egressgateway, an ingress network, an egress network, an ingress autonomoussystem number (ASN), an egress ASN, or a content distribution network(CDN) identifier.
 16. A telecommunications system comprising: atelecommunications network comprising: a plurality of networkattributes; and a network flow connecting the plurality of networkattributes; and at least one processing device in communication with theplurality of network attributes, the network flow configured based on aconfiguration message generated by the at least one processing device,wherein the at least one processing device generates the configurationmessage by: obtaining network data flow information for a plurality ofnetwork flows through the telecommunications network; applying afiltering criteria to the network data flow information to identifyroutes of data transmission through the telecommunications network, thefiltering criteria including an attribute shared among each of theroutes; and generating filtered data from the network data flowinformation corresponding to the routes, the filtered data includingnetwork data flow information for the attribute of the filteringcriteria, network data flow information for other attributes of theroutes, and network data flow information for the routes.
 17. Thetelecommunications system of claim 16, wherein the at least oneprocessing device further generates the configuration message by:generating a network flow diagram from the filtered data, the networkflow diagram comprising a representation of the attribute of thefiltering criteria, representations of other attributes associated withthe subset of the plurality of routes, and representations of the subsetof the plurality of routes; providing the network flow diagram to adisplay device in communication with the at least one processing device;and subsequent to providing the network flow diagram, receiving, from acomputing device in communication with the at least one processingdevice, a configuration instruction for reconfiguring an attribute ofthe routes, wherein the configuration message corresponds to theconfiguration instruction.
 18. The telecommunications system of claim16, wherein the at least one processing device further generates theconfiguration message by analyzing the filtered data to identify anetwork data flow having a performance metric exceeding a performancethreshold, wherein the network attribute is included in the network dataflow having the performance metric exceeding the performance threshold.19. The telecommunications system of claim 16, wherein: the at least oneprocessing device obtains the network data flow information by deployinga network flow collector in the telecommunications network, the networkflow collector configured to collect network data flow information fromdevices within the telecommunications network and to transmit thecollected network data flow information to a central storage system, andthe at least one processing device obtains the network data flowinformation from the central storage system.
 20. The telecommunicationsystem of claim 16, wherein the at least one processing device receivesthe filtering criteria a user interface executed on a computing devicein communication with the at least one processing device and thefiltering criteria includes an ingress gateway, an egress gateway, aningress network, an egress network, an ingress autonomous system number(ASN), an egress ASN, or a content distribution network (CDN)identifier.